package com.prs.crm.service.sys;

import java.util.Collection;
import java.util.List;

import com.prs.crm.domain.hr.Person;
import com.prs.crm.domain.sys.Menu;
import com.prs.crm.service.BaseService;

/**
 * 菜单Service
 * @author inc.chenzhi
 *
 */
public interface MenuService extends BaseService<Menu>{
	
	/**
	 * 菜单移上
	 * @param menu
	 */
	void adjustUp(Menu menu);
	
	/**
	 * 菜单移下
	 * @param menu
	 */
	void adjustDown(Menu menu);
	
	/**
	 * 重置顺序
	 * @param parent
	 */
	void resetSequence(Menu parent);
	
	List<Menu> getRootMenus();
	List<Menu> getAllMenu();
	Collection<Menu> findMenus(Menu parent,Person person);
	
	Collection<Menu> getChildMenu(Menu menu);
	
	Collection<Menu> getShortCutMenus();
	
	/**
	 * 批量删除
	 * 
	 * JohnLan
	 */
	boolean bachDelMenu(Integer[] ids);
	/**
	 * 查询菜单数据
	 * @param sql
	 * @param conditions
	 * @return
	 */
	List getCurrentOb(String sql);
	/**
	 * 删除
	 * @param hql
	 * @return
	 */
	Integer delData(String hql);
	
}
